package com.video.video.service;

import com.video.video.domain.DClassifyBach;
import com.video.video.domain.app.dto.DClassifyDto;
import com.video.video.domain.app.dto.DGroupingDto;
import com.video.video.domain.vo.ClassifyVo;
import java.util.List;
import com.video.video.domain.DClassify;

/**
 * 分类Service接口
 *
 * @author ruoyi
 * @date 2022-09-27
 */
public interface IDClassifyService
{
    /**
     * 查询分类
     *
     * @param id 分类主键
     * @return 分类
     */
    public DClassify selectDClassifyById(String id);


    /**
     * 根据名字查询
     * @param classifyName
     * @param level 等级
     * @return
     */
    public DClassify selectDClassifyByName(String classifyName,int level);


    /**
     * 查询分类列表
     *
     * @param dClassify 分类
     * @return 分类集合
     */
    public List<DClassify> selectDClassifyList(DClassify dClassify);


    /**
     * 根据一级分类查询二级分类
     * @param pid 一级分类ID
     * @param status 状态 1 启用 2禁用
     * @return
     */
    public List<DClassify> selectDClassLevel2List(String pid,String status);



    /**
     * 查询分类列表
     * @param dClassify
     * @return
     */
    public List<DClassifyDto> selectDClassifyDtoList(DClassify dClassify);

    /**
     * 获取一级分类集合
     * @return
     */
    List<ClassifyVo> selectClassifyVoList();

    /**
     * 根据父级ID 查询子集合
     * @param pid
     * @return
     */
    List<ClassifyVo> getlistByPid(String pid);


    /**
     * 批量修改分类的状态
     * @param dClassifyBach
     * @return
     */
    int updateClassifyStatusBach(DClassifyBach dClassifyBach);

    /**
     * 新增分类
     *
     * @param dClassify 分类
     * @return 结果
     */
    public int insertDClassify(DClassify dClassify);

    /**
     * 修改分类
     *
     * @param dClassify 分类
     * @return 结果
     */
    public int updateDClassify(DClassify dClassify);

    /**
     * 批量删除分类
     *
     * @param ids 需要删除的分类主键集合
     * @return 结果
     */
    public int deleteDClassifyByIds(String[] ids);

    /**
     * 删除分类信息
     *
     * @param id 分类主键
     * @return 结果
     */
    public int deleteDClassifyById(String id);
}
